The present inventions are related to systems and methods for detecting and/or decoding information, and more particularly to systems and methods for performing iterative data decoding and/or detection.
Various data transfer systems have been developed including storage systems, cellular telephone systems, and radio transmission systems. In each of the systems data is transferred from a sender to a receiver via some medium. For example, in a storage system, data is sent from a sender (i.e., a write function) to a receiver (i.e., a read function) via a storage medium. The effectiveness of any transfer is impacted by any losses in data caused by various factors. In some cases, an encoding/decoding process is used to enhance the ability to detect a data error and to correct such data errors. As an example, a simple data detection and decode may be performed, however, such a simple process often lacks the capability to converge on a corrected data stream.
To heighten the possibility of convergence, various existing processes utilize two or more detection and decode iterations. Turning to FIG. 1, an exemplary prior art two stage data detection and decode circuit 100 is depicted. Two stage data detection and decode circuit 100 receives a data input 105 that is applied to a detector 110. A hard and soft output from detector 110 is provided to an LDPC decoder 115. Input 105 is fed forward via a buffer 130 to another detector 120. Detector 120 uses a soft output of LDPC decider 115 and input 105 to perform an additional data detection process. A hard and soft output from detector 120 is provided to an LDPC decoder 125 that performs a second decoding process and provides an output 135. Where the initial detection and decode provided by detector 110 and LDPC decoder 115 does not converge, the subsequent detection and decode provided by detector 120 and LDPC decoder 125 provide an additional opportunity to converge. Such an approach, however, requires two iterations for each input data set introduced as input 105. This may waste significant power and introduce unnecessary latency where the input is capable of converging in a single iteration. Further, in some cases two iterations is insufficient to result in a convergence. Thus, such an approach is both wasteful in some conditions and insufficient in other conditions.
Hence, for at least the aforementioned reasons, there exists a need in the art for advanced systems and methods for data processing.